home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
VISUALBA
/
BOZOL2.ZIP
/
DATABASE.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1994-02-08
|
4KB
|
133 lines
CASE "USE"
F$=POPARG$
IF F$="" THEN DBUSE "",e%:EXIT SELECT
IF INSTR(F$,".")=0 THEN F$=F$+".DBF"
DBUSE F$,e%
SELECT CASE e%
CASE 1:BOZOPRINT "Database file not found"+CrLf$
CASE 2:BOZOPRINT "Zero byte file"+CrLf$
CASE 3:BOZOPRINT "File has no fields"+CrLf$
CASE 4:BOZOPRINT "Not a dBASE database file"+CrLf$
END SELECT
IF Prog%=0 THEN
BOZOPRINT STR$(Numberoffields?) + " in " + STR$(NumberOfRecords???)+ " records."+CrLf$
END IF
CASE "GET"
R???=VAL(POPARG$)
dBGetRecord R???,e%
SELECT CASE e%
CASE 0 ' success
CASE 1:BOZOPRINT "Database not open"+CrLf$
CASE 2,3:BOZOPRINT "Invalid record number"+CrLf$
END SELECT
CASE "PUT"
R???=VAL(POPARG$)
For i%=1 TO NumberOfFields?
IF DBS(i%).FieldType="N" THEN
DBPutNField (DBS(i%).FieldName),VAL(GETVAR$((DBS(i%).FieldName)) ),e%
ELSE
DBPutCField (DBS(i%).FieldName),GETVAR$((DBS(i%).FieldName)),e%
END IF
VCLEAR (DBS(i%).FieldName)
NEXT i%
DBPutRecord R???,e%
SELECT CASE e%
CASE 1:BOZOPRINT "Database not open"+CrLf$
CASE 2:BOZOPRINT "Invalid Record Number"+CrLf$
END SELECT
IF LEN(INDEX$) THEN
BT Index$,"A", UCASE$(DBGetCField$(IndexField$,e%)),MKDWD$(RecNum???),"","",r%
IF NOT r% THEN BOZOPRINT "Error updating index file"+CrLf$
END IF
CASE "CREATEFORMAT"
IF Comline=0 AND dBASEOpen% THEN
DBCreateFormat
ELSE
BOZOPRINT "Cannot create a format now."+CrLf$
END IF
CASE "CREATEINDEX"
I$=POPARG$:IF INSTR(I$,".")=0 THEN I$=I$+".BTX"
F$=POPARG$:IF F$="" THEN F$=LEFT$(I$,INSTR(I$,".")-1)
DBCreateIndex I$, F$, e%
SELECT CASE e%
CASE 1:BOZOPRINT "Database not open"
CASE 2:BOZOPRINT "Invalid Field name"
CASE 3:BOZOPRINT "Cannot create file"
CASE 4:BOZOPRINT "Error reading database"
CASE 5:BOZOPRINT CrLf$+"*ABORTED*"
CASE 6:BOZOPRINT "Internal error"
CASE 7:BOZOPRINT "Disk Write Error"
END SELECT
BOZOPRINT CrLf$
CASE "FORMAT"
dBSetFormatTo POPARG$,e%
IF e% THEN BOZOPRINT "Format file not found"+CrLf$
CASE "VIEW"
DBView
CASE "EDIT"
e%=0
R???=VAL(POPARG$)
IF R???=0 THEN CALL dBEditFields (e%) ELSE dBEditRecord R???,e%
IF e% THEN BOZOPRINT "Invalid Record Number"+CrLf$
CASE "APPEND"
dBAppendRecord e%
IF e% THEN BOZOPRINT "APPEND error"+CrLf$
CASE "DELIMITED"
PUSHARG DBGetASCII$
CASE "INDEX"
I$=POPARG$
IF I$="" THEN DBSetIndexTo "","",e%:EXIT SELECT
IF INSTR(I$,".")=0 THEN I$=I$+".BTX"
F$=POPARG$:IF F$="" THEN F$=LEFT$(I$,INSTR(I$,".")-1)
DBSetIndexTo I$, F$, e%
SELECT CASE e%
CASE 1:BOZOPRINT "Database not open"+CrLf$
CASE 2:BOZOPRINT "Invalid Field Name"+CrLf$
CASE 3:BOZOPRINT "Index file not found"+CrLf$
END SELECT
CASE "FIND"
Findme$=POPARG$
F$=FINDME$
DBSearchIndex Findme$,e%
IF e% THEN BOZOPRINT "FIND error"+CrLf$:EXIT SELECT
IF UCASE$(F$)<>UCASE$(LEFT$(FINDME$,LEN(F$))) THEN _
BOZOPRINT "Not found"+CrLf$:Found=%False ELSE Found=%True
CASE "NEXT"
DBSkip 1, E%
IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$:DBEND%=-1
CASE "PREV","PREVIOUS"
DBSkip -1, E%
IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$:DBEND%=-1
CASE "SKIP"
R&=VAL(POPARG$):IF R&>32767 OR R&<-32767 THEN _
BOZOPRINT "SKIP out of range"+CrLf$:EXIT SELECT
R%=R&
DBSkip R%, E%
IF e% THEN BOZOPRINT "Can't SKIP"+CrLf$
DBEND%=e%
CASE "TOP","FIRST"
DBGOTOTOP e%
IF e%=1 THEN BOZOPRINT "Database error"+CrLf$
IF e%=2 THEN BOZOPRINT "Index error"+CrLf$
CASE "BOTTOM","LAST"
DBEND%=-1
DBGOTOBOTTOM e%
IF e%=1 THEN BOZOPRINT "Database error"+CrLf$
IF e%=2 THEN BOZOPRINT "Index error"+CrLf$
CASE "ISOPEN" :PUSHARG STR$(ISTRUE dBaseOpen%)
CASE "RECNUM","RECNO" :PUSHARG STR$(RecNum???)
CASE "NUMFIELDS" :PUSHARG STR$(NumberOfFields?)
CASE "COUNT" :PUSHARG STR$(NumberOfRecords???)
CASE "INDEXFILE" :PUSHARG INDEX$
CASE "INDEXFIELD" :PUSHARG INDEXFIELD$
CASE "DBEND" :PUSHARG STR$(DBEND%)